# [Cpp] 입출력 실행속도 줄이는 법



C++로 알고리즘 문제를 풀 때, cin, cout은 실행속도가 느리다. 하지만 최적화 방법을 이용하면 실행속도 단축에 효율적이다.

만약 cin, cout을 문제풀이에 사용하고 싶다면, 시간을 단축하고 싶다면 사용하자


최적화 시 거의 절반의 시간이 단축된다.

int main(void)
{
    ios_base :: sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}

ios_base는 c++에서 사용하는 iostream의 cin, cout 등을 함축한다.

sync_with_stdio(false)는 c언어의 stdio.h와 동기화하지만, 그 안에서 활용하는 printf, scanf, getchar, fgets, puts, putchar 등은 false로 동기화하지 않음을 뜻한다.


주의

따라서, cin/scanf와 cout/printf를 같이 쓰면 문제가 발생하므로 조심하자

또한, 이는 싱글 스레드 환경에서만 효율적일뿐(즉, 알고리즘 문제 풀이할 때) 실무에선 사용하지 말자

그리고 크게 차이 안나므로 그냥 printf/scanf 써도 된다!

최종 수정 : 12/17/2022, 7:23:59 AM